package studia.figlewicz.dao.ejb;

// Generated 2011-06-03 08:31:30 by Hibernate Tools 3.4.0.CR1

import java.util.HashSet;
import java.util.Set;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Nogainstrumentu generated by hbm2java
 */
@Entity
@Table(name = "NOGAINSTRUMENTU", schema = "MARCIN")
public class Nogainstrumentu implements java.io.Serializable {

	private NogainstrumentuId id;
	private Typstruktury typstruktury;
	private Instrumentpochodny instrumentpochodny;
	private Kalendarz kalendarz;
	private String walutarozliczenia;
	private String czestotliwoscplatnosci;
	private String czestotliwoscaktualizacji;
	private String instrumentpodstawowy;
	private String typkoszyka;
	private Set<Wycenanogi> wycenanogis = new HashSet<Wycenanogi>(0);
	private Set<Platnosc> platnoscs = new HashSet<Platnosc>(0);
	private Set<Komponentakoszykowa> komponentakoszykowas = new HashSet<Komponentakoszykowa>(
			0);

	public Nogainstrumentu() {
	}

	public Nogainstrumentu(NogainstrumentuId id,
			Instrumentpochodny instrumentpochodny) {
		this.id = id;
		this.instrumentpochodny = instrumentpochodny;
	}

	public Nogainstrumentu(NogainstrumentuId id, Typstruktury typstruktury,
			Instrumentpochodny instrumentpochodny, Kalendarz kalendarz,
			String walutarozliczenia, String czestotliwoscplatnosci,
			String czestotliwoscaktualizacji, String instrumentpodstawowy,
			String typkoszyka, Set<Wycenanogi> wycenanogis,
			Set<Platnosc> platnoscs,
			Set<Komponentakoszykowa> komponentakoszykowas) {
		this.id = id;
		this.typstruktury = typstruktury;
		this.instrumentpochodny = instrumentpochodny;
		this.kalendarz = kalendarz;
		this.walutarozliczenia = walutarozliczenia;
		this.czestotliwoscplatnosci = czestotliwoscplatnosci;
		this.czestotliwoscaktualizacji = czestotliwoscaktualizacji;
		this.instrumentpodstawowy = instrumentpodstawowy;
		this.typkoszyka = typkoszyka;
		this.wycenanogis = wycenanogis;
		this.platnoscs = platnoscs;
		this.komponentakoszykowas = komponentakoszykowas;
	}

	@EmbeddedId
	@AttributeOverrides({
			@AttributeOverride(name = "kodumowy", column = @Column(name = "KODUMOWY", nullable = false, length = 20)),
			@AttributeOverride(name = "stronanogi", column = @Column(name = "STRONANOGI", nullable = false, length = 6)) })
	public NogainstrumentuId getId() {
		return this.id;
	}

	public void setId(NogainstrumentuId id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumns({
			@JoinColumn(name = "NAZWATYPUINSTRUMENTU", referencedColumnName = "NAZWATYPUINSTRUMENTU"),
			@JoinColumn(name = "NAZWATYPUSTRUKTURY", referencedColumnName = "NAZWA") })
	public Typstruktury getTypstruktury() {
		return this.typstruktury;
	}

	public void setTypstruktury(Typstruktury typstruktury) {
		this.typstruktury = typstruktury;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "KODUMOWY", nullable = false, insertable = false, updatable = false)
	public Instrumentpochodny getInstrumentpochodny() {
		return this.instrumentpochodny;
	}

	public void setInstrumentpochodny(Instrumentpochodny instrumentpochodny) {
		this.instrumentpochodny = instrumentpochodny;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "KALENDARZROZLICZEN")
	public Kalendarz getKalendarz() {
		return this.kalendarz;
	}

	public void setKalendarz(Kalendarz kalendarz) {
		this.kalendarz = kalendarz;
	}

	@Column(name = "WALUTAROZLICZENIA", length = 3)
	public String getWalutarozliczenia() {
		return this.walutarozliczenia;
	}

	public void setWalutarozliczenia(String walutarozliczenia) {
		this.walutarozliczenia = walutarozliczenia;
	}

	@Column(name = "CZESTOTLIWOSCPLATNOSCI", length = 5)
	public String getCzestotliwoscplatnosci() {
		return this.czestotliwoscplatnosci;
	}

	public void setCzestotliwoscplatnosci(String czestotliwoscplatnosci) {
		this.czestotliwoscplatnosci = czestotliwoscplatnosci;
	}

	@Column(name = "CZESTOTLIWOSCAKTUALIZACJI", length = 5)
	public String getCzestotliwoscaktualizacji() {
		return this.czestotliwoscaktualizacji;
	}

	public void setCzestotliwoscaktualizacji(String czestotliwoscaktualizacji) {
		this.czestotliwoscaktualizacji = czestotliwoscaktualizacji;
	}

	@Column(name = "INSTRUMENTPODSTAWOWY", length = 10)
	public String getInstrumentpodstawowy() {
		return this.instrumentpodstawowy;
	}

	public void setInstrumentpodstawowy(String instrumentpodstawowy) {
		this.instrumentpodstawowy = instrumentpodstawowy;
	}

	@Column(name = "TYPKOSZYKA", length = 16)
	public String getTypkoszyka() {
		return this.typkoszyka;
	}

	public void setTypkoszyka(String typkoszyka) {
		this.typkoszyka = typkoszyka;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "nogainstrumentu")
	public Set<Wycenanogi> getWycenanogis() {
		return this.wycenanogis;
	}

	public void setWycenanogis(Set<Wycenanogi> wycenanogis) {
		this.wycenanogis = wycenanogis;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "nogainstrumentu")
	public Set<Platnosc> getPlatnoscs() {
		return this.platnoscs;
	}

	public void setPlatnoscs(Set<Platnosc> platnoscs) {
		this.platnoscs = platnoscs;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "nogainstrumentu")
	public Set<Komponentakoszykowa> getKomponentakoszykowas() {
		return this.komponentakoszykowas;
	}

	public void setKomponentakoszykowas(
			Set<Komponentakoszykowa> komponentakoszykowas) {
		this.komponentakoszykowas = komponentakoszykowas;
	}

}
